package com.rerun.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
import com.rerun.entity.YoyoPark;
import com.rerun.entity.vo.ParkListShowVo;
import com.rerun.entity.vo.WatchedMeParkVo;

import java.util.List;
import java.util.Map;

/**
 * The interface Yoyo park service.
 *
 * @author dax.
 * @version v1.0
 * @since 2017 /9/29 19:43
 */
public interface IYoyoParkService extends IService<YoyoPark> {
    /**
     * Show park list list.
     *
     * @param map        the map
     * @param pageNumber the page number
     * @param pageSize   the page size
     * @return ParkListShowVo 展示园所列表信息
     */
    List<ParkListShowVo> showParkList(Map<String, Object> map, Integer pageNumber, Integer pageSize);

    /**
     * Select list watched me list.
     *
     * @param memberId the member id
     * @return the list
     */
    List<WatchedMeParkVo> selectListWatchedMe(String memberId);

    /**
     * 收藏我的.
     *
     * @param memberId the member id
     * @return the list
     */
    List<WatchedMeParkVo> selectListCollectionMe(String memberId);

    /**
     * 黑名单批量查询.
     *
     * @param ids the ids
     * @return the list
     * @see com.rerun.mapper.BlackListMapper#selectPageByMemberId com.rerun.mapper.BlackListMapper#selectPageByMemberIdcom.rerun.mapper.BlackListMapper#selectPageByMemberIdcom.rerun.mapper.BlackListMapper#selectPageByMemberId
     */
    List<YoyoPark> selectPageForBlackList(List<String> ids);

    /**
     * Select list by params list.
     *
     * @param parkPage the park page
     * @param parkName the park name
     * @return the list
     */
    Page<YoyoPark> selectListByParams(Page<YoyoPark> parkPage,String parkName);

    /**
     * Select list by params count int.
     *
     * @param parkName the park name
     * @return the int
     */
    int  selectListByParamsCount(String parkName);
}
